package com.yunxi.sys.service;

import com.github.pagehelper.PageInfo;
import com.yunxi.core.web.ApiResult;
import com.yunxi.core.web.LoginInfo;
import com.yunxi.sys.pojo.AreaVO;

import java.lang.reflect.InvocationTargetException;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 地域信息 服务类
 * </p>
 *
 * @author 
 * @since 2019-05-07
 */
public interface AreaDubboService {

    AreaVO getById(String id) throws InvocationTargetException, IllegalAccessException;

    void saveOrUpdate(AreaVO areaVO) throws InvocationTargetException, IllegalAccessException;

    void removeById(String id);

   PageInfo<AreaVO> findPageByVO(AreaVO areaVo, Integer pageNum, Integer pageSize) throws InvocationTargetException, IllegalAccessException;

    PageInfo<AreaVO> pageByVO(AreaVO areaVO, Integer pageNum, Integer pageSize) throws InvocationTargetException, IllegalAccessException;

    List<AreaVO> listByPid(String selectvalues);

    Object treeByPid() throws NoSuchMethodException, IllegalAccessException, InvocationTargetException;

    Object listProvince();

    Object treeByType(Integer type) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException;

   void saveBatch(AreaVO areaVO) throws Exception;

    Object listByVo(AreaVO v, LoginInfo loginInfo);

   Object loadCas(AreaVO areaVO);

   void delCas(List<AreaVO> areaVOList);

   ApiResult listAllProvince(AreaVO areaVO,LoginInfo loginInfo);

   AreaVO getByProvinceCode(String provinceCode);

   String getBigRegionByCityCode(String cityCode);

    AreaVO queryAreaByPartnerCode(String partnerCode);
}
